package com.redepronik.medisys.cithis.entity;

import java.io.Serializable;
import javax.persistence.*;
import java.util.List;


/**
 * The persistent class for the medicamentocomerciales database table.
 * 
 */
@Entity
@Table(name="medicamentocomerciales")
@NamedQuery(name="Medicamentocomerciale.findAll", query="SELECT m FROM Medicamentocomerciale m")
public class MedicamentoComercial implements Serializable {
	private static final long serialVersionUID = 1L;

	@Id
	@SequenceGenerator(name="MEDICAMENTOCOMERCIALES_MEDICAMENTOCOMERCIALID_GENERATOR" )
	@GeneratedValue(strategy=GenerationType.SEQUENCE, generator="MEDICAMENTOCOMERCIALES_MEDICAMENTOCOMERCIALID_GENERATOR")
	@Column(unique=true, nullable=false)
	private Integer medicamentocomercialid;

	@Column(length=100)
	private String descripcion;

	//bi-directional many-to-one association to Laboratorio
	@ManyToOne
	@JoinColumn(name="laboratorioid", nullable=false)
	private Laboratorio laboratorio;

	//bi-directional many-to-one association to Medicamentogenerico
	@ManyToOne
	@JoinColumn(name="medicamentogenericoid", nullable=false)
	private MedicamentoGenerico medicamentogenerico;

	//bi-directional many-to-one association to Medicamentosustancia
	@OneToMany(mappedBy="medicamentocomerciale")
	private List<MedicamentoSustancia> medicamentosustancias;

	public MedicamentoComercial() {
	}

	public Integer getMedicamentocomercialid() {
		return this.medicamentocomercialid;
	}

	public void setMedicamentocomercialid(Integer medicamentocomercialid) {
		this.medicamentocomercialid = medicamentocomercialid;
	}

	public String getDescripcion() {
		return this.descripcion;
	}

	public void setDescripcion(String descripcion) {
		this.descripcion = descripcion;
	}

	public Laboratorio getLaboratorio() {
		return this.laboratorio;
	}

	public void setLaboratorio(Laboratorio laboratorio) {
		this.laboratorio = laboratorio;
	}

	public MedicamentoGenerico getMedicamentogenerico() {
		return this.medicamentogenerico;
	}

	public void setMedicamentogenerico(MedicamentoGenerico medicamentogenerico) {
		this.medicamentogenerico = medicamentogenerico;
	}

	public List<MedicamentoSustancia> getMedicamentosustancias() {
		return this.medicamentosustancias;
	}

	public void setMedicamentosustancias(List<MedicamentoSustancia> medicamentosustancias) {
		this.medicamentosustancias = medicamentosustancias;
	}

	public MedicamentoSustancia addMedicamentosustancia(MedicamentoSustancia medicamentosustancia) {
		getMedicamentosustancias().add(medicamentosustancia);
		medicamentosustancia.setMedicamentocomerciale(this);

		return medicamentosustancia;
	}

	public MedicamentoSustancia removeMedicamentosustancia(MedicamentoSustancia medicamentosustancia) {
		getMedicamentosustancias().remove(medicamentosustancia);
		medicamentosustancia.setMedicamentocomerciale(null);

		return medicamentosustancia;
	}

}